home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / alexrk / alexhelp.frm < prev    next >
Text File  |  1995-09-06  |  6KB  |  243 lines

  1. VERSION 2.00
  2. Begin Form Form2 
  3.    Caption         =   "Alex's Rocket Programmer Help"
  4.    ClientHeight    =   4260
  5.    ClientLeft      =   225
  6.    ClientTop       =   2625
  7.    ClientWidth     =   9240
  8.    Height          =   4665
  9.    Left            =   165
  10.    LinkMode        =   1  'Source
  11.    LinkTopic       =   "Form2"
  12.    ScaleHeight     =   4260
  13.    ScaleWidth      =   9240
  14.    Top             =   2280
  15.    Width           =   9360
  16.    Begin TextBox HelpText 
  17.       Height          =   3345
  18.       Left            =   3045
  19.       MultiLine       =   -1  'True
  20.       ScrollBars      =   2  'Vertical
  21.       TabIndex        =   1
  22.       Text            =   "HelpText"
  23.       Top             =   600
  24.       Width           =   6120
  25.    End
  26.    Begin ListBox HelpIndex 
  27.       Height          =   3150
  28.       Left            =   30
  29.       TabIndex        =   0
  30.       Top             =   600
  31.       Width           =   3030
  32.    End
  33.    Begin CommandButton Command2 
  34.       Caption         =   "Find Next"
  35.       Height          =   360
  36.       Left            =   4665
  37.       TabIndex        =   3
  38.       Top             =   135
  39.       Width           =   1260
  40.    End
  41.    Begin CommandButton Command1 
  42.       Caption         =   "Exit Help"
  43.       Height          =   360
  44.       Left            =   3225
  45.       TabIndex        =   2
  46.       Top             =   135
  47.       Width           =   1260
  48.    End
  49.    Begin Label Label1 
  50.       Caption         =   "Click Topic Below - Text will Appear in window at right"
  51.       Height          =   480
  52.       Left            =   120
  53.       TabIndex        =   4
  54.       Top             =   75
  55.       Width           =   2955
  56.    End
  57. End
  58. Dim HelpData As String
  59. Dim IndexEntry As String
  60. Dim NL As String
  61. Dim StartSearch As Long
  62.  
  63. Sub CheckForContextLookup ()
  64.  
  65.     ' Help Topic can be loaded with a value to simulate
  66.     '  context sensitive help
  67.     If Len(HelpTopic$) > 0 Then
  68.         StartSearch = 1
  69.         LookupText (HelpTopic$)
  70.     End If
  71.  
  72. End Sub
  73.  
  74. Sub Command1_Click ()
  75.     
  76.     Unload Form2
  77.     
  78. End Sub
  79.  
  80. Sub Command2_Click ()
  81.  
  82.     ' Find Next Control
  83.     ' Execute same routine as normal lookup only don't reset
  84.     ' starting point to top of text area
  85.     StartSearch& = HelpText.selstart + 3
  86.     
  87.     ' return to top when end of file reached
  88.     If StartSearch > Len(HelpText.Text) Then StartSearch = 1
  89.  
  90.     'FindString'
  91.     HelpText.selstart = Len(HelpText.Text)
  92.     
  93.     LookupText (HelpTopic)
  94.  
  95. End Sub
  96.  
  97. Sub Form_GotFocus ()
  98.  
  99. Screen.MousePointer = 1
  100.  
  101. End Sub
  102.  
  103. Sub Form_Load ()
  104.  
  105.     Screen.MousePointer = 11
  106.  
  107.     StartSearch = 1
  108.  
  109.     LoadHelpIndex
  110.  
  111.     LoadHelpText
  112.  
  113.     CheckForContextLookup
  114.  
  115. End Sub
  116.  
  117. Sub HelpIndex_Click ()
  118.  
  119.     HelpTopic = LTrim$(RTrim$(HelpIndex.Text))
  120.     
  121.     LookupText (HelpTopic$)
  122.     
  123. End Sub
  124.  
  125. Sub HelpIndex_GotFocus ()
  126.  
  127. Screen.MousePointer = 1
  128.  
  129. End Sub
  130.  
  131. Sub HelpText_GotFocus ()
  132.  
  133.     Screen.MousePointer = 1
  134.  
  135. End Sub
  136.  
  137. Sub LoadHelpIndex ()
  138.  
  139. LoadIndexAgain:
  140.  
  141. On Error GoTo IndexError
  142.  
  143. ' ** Help File data and index paths are stored in the first
  144. ' ** lines of the ALEX.BAS file
  145. ' ** Their default locations are C:\VB directory
  146. ' ** If they are not found there you will be prompted below to
  147. ' ** supply the correct path.
  148.  
  149. FN% = FreeFile
  150. If NewHelpPath <> "" Then
  151.     HelpIndexPath$ = RTrim$(LTrim$(NewHelpPath$)) + "\" + HelpIndexFile$
  152. Else
  153.     HelpIndexPath$ = HelpPath$ + "\" + HelpIndexFile$
  154. End If
  155.  
  156. Open HelpIndexPath$ For Input As FN%
  157.  
  158. Do While Not EOF(FN%)
  159.     Line Input #FN%, IndexEntry$
  160.     HelpIndex.AddItem (IndexEntry$)
  161. Loop
  162.  
  163. Close #FN%
  164.  
  165. Exit Sub
  166.  
  167. IndexError:
  168.     NewHelpPath$ = RTrim$(InputBox$("Error Finding Help Files. Enter Drive and Directory where they are loaded. Default (assigned in .BAS file) is C:\VB.  Enter:", "Help Index Path", HelpPath))
  169.  
  170.     If NewHelpPath$ = "" Then Exit Sub
  171.  
  172.     ' Resume program execution with statement causing error
  173.     Resume LoadIndexAgain
  174.    
  175. End Sub
  176.  
  177. Sub LoadHelpText ()
  178.  
  179. LoadTextAgain:
  180.  
  181. On Error GoTo TextError
  182.  
  183. ' ** Help File data and index paths are stored in the first
  184. ' ** lines of the ALEX.BAS file
  185. ' ** Their default locations are C:\VB directory
  186. ' ** If they are not found there you will be prompted below to
  187. ' ** supply the correct path.
  188.  
  189. NL$ = Chr$(13) + Chr$(10)
  190. FNT% = FreeFile
  191. If NewHelpPath$ <> "" Then
  192.     HelpTextPath$ = NewHelpPath$ + "\" + HelpTextFile$
  193. Else
  194.     HelpTextPath$ = HelpPath$ + "\" + HelpTextFile$
  195. End If
  196.  
  197.  
  198. Open HelpTextPath$ For Input As FNT%
  199.  
  200. Do While Not EOF(FNT%)
  201.     Line Input #FNT%, HelpData$
  202.     HelpTextLine$ = HelpTextLine$ + HelpData$ + NL$
  203.     Loop
  204.  
  205. HelpText.Text = HelpTextLine$
  206. Close #FNT%
  207.  
  208. Exit Sub
  209.  
  210. TextError:
  211.     NewHelpPath = RTrim$(InputBox$("Error Finding Help Files. Enter Drive and Directory where they are loaded. Default (assigned in .BAS file) is C:\VB.  Enter:", "Help Text Path", HelpPath))
  212.     
  213.     If NewHelpPath$ = "" Then Exit Sub
  214.  
  215.     ' Resume program execution at satement causing error
  216.     Resume LoadTextAgain
  217.  
  218. End Sub
  219.  
  220. Sub LookupText (HelpTopic As String)
  221.  
  222.     HelpText.selstart = Len(HelpText.Text)
  223.  
  224. 'InStr returns location of text using the HelpTopic as lookup
  225. ' CSng convert this value for use in positioning
  226. ' within text box
  227.     If InStr(StartSearch, HelpText.Text, HelpTopic) > 1 Then
  228.         HelpText.selstart = InStr(StartSearch, HelpText.Text, HelpTopic) - 1
  229.         HelpText.sellength = CSng(Len(HelpTopic))
  230.     End If
  231.     
  232.     ' return to top when end of file reached
  233.     If StartSearch > Len(HelpText.Text) Then StartSearch = 1
  234.  
  235.     ' Clear value of HelpTopic after each search unless
  236.     ' FindNext drives the search
  237.     ' HelpTopic = ""
  238.  
  239.  
  240.  
  241. End Sub
  242.  
  243.